Option Explicit '****************************** '作業日報 Status自動入力 '****************************** Private Sub Worksheet_Change(ByVal Target As Range) Dim StartCHK As Boolean '開始日時 判定用 Dim EndCHK As Boolean '終了日時 判定用 '開始日時が変更された場合 If Target.Column = 7 Then StartCHK = IsEmpty(Target) EndCHK = IsEmpty(Target.Offset(0, 2)) '終了日時が空白の場合 If EndCHK = True Then Select Case StartCHK '開始日時が記入済み Case False Target.Offset(0, 9).Value = "作業中" '開始日時が空白 Case True Target.Offset(0, 9).Value = "" End Select End If End If '終了日時が変更された場合 If Target.Column = 9 Then '開始日時、終了日時が空白か否かを変数に格納する StartCHK = IsEmpty(Target.Offset(0, -2)) EndCHK = IsEmpty(Target) Select Case EndCHK '終了日時が記入された場合 Case False Target.Offset(0, 7).Value = "完了" '終了日時が削除された場合 Case True '開始日時が記入済み If StartCHK = False Then Target.Offset(0, 7).Value = "作業中" Else '開始日時が空白 Target.Offset(0, 7).Value = "" End If End Select End If End Sub